package org.jeecg.modules.dock.entity.mds.request;

import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * mds请求通用实体
 *
 * @author zhoutong
 */
@ApiModel(value = "mds请求通用实体", description = "mds请求通用实体")
@Data
public class MdsBaseRequestVO implements Serializable {

    @NotNull(message = "任务编号不能为空")
    @NotBlank(message = "任务编号不能为空")
    @ApiModelProperty("任务编号，原任务")
    private String taskCode;

    @NotNull(message = "状态变更时间不能为空")
    @ApiModelProperty("状态变更时间，精确到秒即可")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date operateTime;

    @NotNull(message = "任务类型不能为空")
    @NotBlank(message = "任务类型不能为空")
    @ApiModelProperty("任务类型")
    private String taskType;

    @ApiModelProperty("任务状态：参考下方业务类型说明")
    private String taskStatus;

    @ApiModelProperty("站点")
    private String site;

    @ApiModelProperty("操作原因")
    private String operateReason;

    @ApiModelProperty("操作人员")
    private String operatorName;

//    @NotBlank
//    @NotNull
//    @ApiModelProperty("产线名称")
//    private String lineName;

    @ApiModelProperty("备注")
    private String remark;

}
